import { useState } from 'react'
import { Routes, Route, Link, Navigate } from 'react-router-dom'
import reactLogo from './assets/react.svg'
import viteLogo from '/vite.svg'
import './App.css'

// 首页组件
function Home() {
  const [count, setCount] = useState(0)

  return (
    <>
      <div>
        <a href="https://vite.dev" target="_blank">
          <img src={viteLogo} className="logo" alt="Vite logo" />
        </a>
        <a href="https://react.dev" target="_blank">
          <img src={reactLogo} className="logo react" alt="React logo" />
        </a>
      </div>
      <h1>Vite + React + Router</h1>
      <div className="card">
        <button onClick={() => setCount((count) => count + 1)}>
          count is {count}
        </button>
        <p>
          Edit <code>src/App.jsx</code> to add more routes
        </p>
      </div>
    </>
  )
}

// 关于页面组件
function About() {
  return (
    <div className="card">
      <h2>关于我们</h2>
      <p>这是一个使用 Vite + React + React Router 构建的应用程序。</p>
      <p>React Router 允许我们在单页应用中实现多页面的导航体验。</p>
    </div>
  )
}

// 联系页面组件
function Contact() {
  return (
    <div className="card">
      <h2>联系我们</h2>
      <p>如有任何问题或建议，请随时联系我们。</p>
    </div>
  )
}

// 404页面组件
function NotFound() {
  return (
    <div className="card">
      <h2>404 - 页面未找到</h2>
      <p>您访问的页面不存在。</p>
      <Link to="/">返回首页</Link>
    </div>
  )
}

function App() {
  return (
    <>
      {/* 导航菜单 */}
      <nav className="nav">
        <Link to="/">首页</Link>
        <Link to="/about">关于我们</Link>
        <Link to="/contact">联系我们</Link>
      </nav>
      
      {/* 路由配置 */}
      <Routes>
        <Route path="/" element={<Home />} />
        <Route path="/about" element={<About />} />
        <Route path="/contact" element={<Contact />} />
        <Route path="/404" element={<NotFound />} />
        <Route path="*" element={<Navigate to="/404" replace />} />
      </Routes>
      
      <p className="read-the-docs">
        请使用上方导航菜单访问不同页面
      </p>
    </>
  )
}

export default App
